#!/bin/bash

###########################################
#安装 mitmproxy
###########################################

#安装基础依赖
yum install -y readline-devel ncurses-devel
yum install -y git tar make gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel xz-devel

#安装 uv 工具
##################################################################################
#从官方源下载并安装 uv 工具
curl -LsSf https://astral.sh/uv/install.sh | sh
#添加 uv 安装路径到 PATH 环境变量
export PATH=$PATH:/root/.local/bin
# 验证安装
uv --version

#安装 Rust 和 Cargo
##################################################################################
#通过 rustup 来安装 Rust 和 Cargo
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
#curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
#更新环境变量
source $HOME/.cargo/env
#验证安装
cargo --version

#安装 Python 3.12
##################################################################################
#安装 pyenv
curl https://pyenv.run | bash
#更新环境变量
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
#验证pyenv是否安装成功
pyenv --version
#使用 pyenv 安装 Python 3.12
pyenv install 3.12
#创建并激活虚拟环境
pyenv virtualenv 3.12 mitmproxy-env
pyenv activate mitmproxy-env
#更新pip
python -m pip install --upgrade pip


# 安装mitmproxy
##################################################################################
#git clone https://github.com/mitmproxy/mitmproxy.git
#cd mitmproxy
wget https://github.com/mitmproxy/mitmproxy/archive/refs/tags/v12.0.0.tar.gz
tar -zxf v12.0.0.tar.gz
cd mitmproxy-12.0.0/

# 安装开发依赖
pip install tox
# 编译和安装
pip install -e .


#验证安装
##################################################################################
# 通过运行以下命令来验证 mitmproxy 是否安装成功
mitmproxy --version
mitmdump --version
mitmweb --version

# 运行基本测试套件
uv run tox

# 如果你想单独运行某个测试文件或文件夹，可以使用 pytest
cd test/mitmproxy/addons
uv run pytest --cov mitmproxy.addons.anticache --cov-report term-missing --looponfail test_anticache.py




